package org.deltaset.meta;

/**
 *
 * @author dmakariev
 */
public interface MetaHandlerFactory {

    Catalog createCatalog(final String extensionCatalogName);

    EntityResolver createEntityResolver();

    LabelResolver createLabelResolver();

    MetaActionExecutor createMetaActionExecutor(final MetaAction metaAction);
    
    MetaActionHandler createMetaActionHandler();

    MetaEntry createMetaEntry(final Class entityClass);

    <T> OptionBuilder<T> createOptionBuilder();
    
    CollectionHandler createCollectionHandler();
    
}
